package com.innovations.inn.mapper;

import com.innovations.inn.domain.OutcomesTagRelate;
import java.util.List;

/**
 * 成果标签对应Mapper接口
 *
 * @author dp
 * @date 2024-08-10
 */
public interface OutcomesTagRelateMapper {
    /**
     * 查询成果标签对应
     *
     * @param relateId 成果标签对应主键
     * @return 成果标签对应
     */
    OutcomesTagRelate selectOutcomesTagRelateByRelateId(Long relateId);

    /**
     * 查询成果标签对应列表
     *
     * @param outcomesTagRelate 成果标签对应
     * @return 成果标签对应集合
     */
    List<OutcomesTagRelate> selectOutcomesTagRelateList(OutcomesTagRelate outcomesTagRelate);

    /**
     * 新增成果标签对应
     *
     * @param outcomesTagRelate 成果标签对应
     * @return 结果
     */
    int insertOutcomesTagRelate(OutcomesTagRelate outcomesTagRelate);

    /**
     * 修改成果标签对应
     *
     * @param outcomesTagRelate 成果标签对应
     * @return 结果
     */
    int updateOutcomesTagRelate(OutcomesTagRelate outcomesTagRelate);

    /**
     * 删除成果标签对应
     *
     * @param relateId 成果标签对应主键
     * @return 结果
     */
    int deleteOutcomesTagRelateByRelateId(Long relateId);

    /**
     * 删除成果标签对应信息--根据成果标识
     *
     * @param researchOutcomesId 成果标识
     * @return 结果
     */
    int deleteOutcomesTagRelateByResearchOutcomesId(Long researchOutcomesId);

    /**
     * 批量删除成果标签对应
     *
     * @param relateIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteOutcomesTagRelateByRelateIds(Long[] relateIds);

    /**
     * 查询成果标签对应-根据科研成果标识
     *
     * @param researchOutcomesId 成果标识
     * @return 成果标签对应
     */
    List<OutcomesTagRelate> selectOutcomesTagRelateByOutcomesId(Long researchOutcomesId);

}
